﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Collections;

namespace Ejemplo1Web.Controllers
{
    public class ElSuperController : Controller
    {
        //
        // GET: /ElSuper/
        private static List<ItemLista> listaSuper = new List<ItemLista>();

        public ActionResult Index()
        {
            string[] names = Enum.GetNames(typeof(RubrosEnum));
            /*
            Hashtable hashTable = new Hashtable();
            for (int i = 0; i < names.Length; i++)
            {
                hashTable[i + 1] = names[i];
            }
            */
            return View(model: listaSuper);
        }

        public ActionResult Agregar(String nombre, Int16 cantidad, RubrosEnum rubro)
        {
            listaSuper.Add(
                new ItemLista(cantidad: cantidad, 
                    nombre: nombre,
                    rubro: rubro
                    ));
            return RedirectToAction("Index");
        }
        
        public ActionResult Borrar(Int16 pos)
        {
            listaSuper.RemoveAt(pos);
            return RedirectToAction("Index");
        }

        [HttpGet]
        public ActionResult Modificar(Int16 pos)
        {
            var m = listaSuper[pos];
            ViewBag.pos = pos;
            return View(m);
            
        }

        [HttpPost]
        public ActionResult Modificar(String nombre, Int16 cantidad, Int16 pos, RubrosEnum rubro)
        {
            var m = listaSuper[pos];
            m.cantidad = cantidad;
            m.nombre = nombre;
            m.rubro = rubro;
            return RedirectToAction("Index");
        }
    }

    public enum RubrosEnum
    {
        Bebidas, Limpieza, Bazar, Libreria, Almacen
    }

    public class ItemLista
    {
        public String nombre { get; set; }
        public Int16 cantidad { get; set; }
        public RubrosEnum rubro { get; set; }

        public ItemLista(String nombre, Int16 cantidad, RubrosEnum rubro)
        {
            this.nombre = nombre;
            this.cantidad = cantidad;
            this.rubro = rubro;
        }
    }
}
